package calculator.equationnodes;

import java.math.BigDecimal;

/*
 * DivNode.java
 * Author: Ben McCormick
 * Written: Jan 2 2011
 * Last Edited: May 16 2011
 * Ben McCormick 2011
 * This file is part of The Eikona Project .
 *    Copyright 2011 Ben McCormick
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *    
 *    http://www.apache.org/licenses/LICENSE-2.0
 *    
 *     Unless required by applicable law or agreed to in writing, software
 *     distributed under the License is distributed on an "AS IS" BASIS,
 *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *     See the License for the specific language governing permissions and
 *     limitations under the License.
 */

public class DivNode extends BinOpNode {

	public DivNode()
	{
		name = "/";
	}
	
	public DivNode(EquationNode leftchild,EquationNode rightchild)
	{
		name= "/";
		lchild=leftchild;
		rchild=rightchild;
	}
	
	public BigDecimal getValue() {
		try{
		return lchild.getValue().divide(rchild.getValue());
		}
		catch(ArithmeticException e)
		{
			if((lchild.getValue().intValue()>0 && rchild.getValue().intValue() >0 )||(lchild.getValue().intValue()<0 && rchild.getValue().intValue() <0 ))
			{
				return new BigDecimal(Double.POSITIVE_INFINITY);
			}
			else
			{
				return new BigDecimal(Double.NEGATIVE_INFINITY);
			}
		}
	}

	@Override
	public int getPriority() {
		// TODO Auto-generated method stub
		return 5;
	}


}
